#include <iostream>
#include <string.h>
#include <unistd.h>
using namespace std;

int main(int argc, char* argv[])
{
	// 新进程的进程编号与原进程相同，但是，新进程取代了原进程的代码段、数据段和堆栈
	//  所以，最后两行，cout perror不会执行
	//  执行完后，流程不会再回来了。
	cout << "当前进程id: " << getpid()<<endl;

    char* args[10];
	args[0]=(char*)"/bin/ls";
	args[1]=(char*)"-lt";
	args[2]=(char*)"/tmp";
	args[3]=0; //这行代码不能省略

	int ret = execv("/bin/ls", args); 
	cout << "ret = " << ret << endl;
	perror("execv");
}
